返回根据指定p范数(p Norm)对数组元素规范化后的数组。
命令格式
array_normalize(array, p)
此函数等价于TRANSFORM(array, v -> v / REDUCE(array, 0, (a, v) -> a + POW(ABS(v), p), a -> POW(a, 1 / p))
,但是REDUCE
部分只执行一次。
参数说明
array:输入数组,数组元素只支持Float和Double类型。
p: 数组的p Norm。
返回值说明
返回规范化之后的数组。
如果数组为null或者有null数组元素,则返回NULL。
如果
p=0
则返回原数组;p<0
则抛出异常。
示例
SELECT array_normalize(array(10.0, 20.0, 50.0), 1.0);
返回结果如下:
[0.125, 0.25, 0.625]
相关函数
ARRAY_NORMALIZE函数属于复杂类型函数,更多对复杂类型数据(例如ARRAY、MAP、STRUCT、JSON数据)的处理函数请参见复杂类型函数。
文档内容是否对您有帮助?